/**
 * 仿写JSON内置API的parse方法
 * @param {String} javaData JSON数据格式
 * @returns Object
 */
function parse(javaData) {
    let str = javaData.replace(/"|{|}|\s/g, '');  // 去掉 双引号  {   }   空格
    let arr = str.split(',');   // 字符串转数组
    let obj = {};   // 定义一个空对象
    // 遍历数组arr
    arr.forEach((item) => {
        let temp = item.split(':'); // 将arr数组中每一个数据（字符串格式）转换为数组
        obj[temp[0]] = isNaN(Number(temp[1])) ? temp[1] : Number(temp[1]);   //遍历里面：数组的第一个值就是键，数组的第二个值就是属性值
        // obj.键 = 值    obj.temp[0] = temp[1]
    })
    return obj;
}


/**
 * 仿写JSON内置API的stringify方法
 * @param {object} obj 标准普通对象
 * @returns String
 */
function stringify(obj) {
    let arr = [];   // 定义空数组
    for(let key in obj) { // 遍历对象，将【键，值】push到数组中
        let val = obj[key];
        if(!['boolean','number'].includes(typeof val)){
            val = `${obj[key]}`;
        }
        arr.push(`"${key}":${val}`);
    }
    // 拼接成json数据格式
    return `{${arr.join(',')}}`;
}
